# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: 'Default Castlevania: Portrait of Ruin Template'

game: 'Castlevania: Portrait of Ruin'
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    'Castlevania: Portrait of Ruin': 1.3.3 # Version of the world required for this yaml to work as expected.

'Castlevania: Portrait of Ruin':
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  exclude_locations:
    # Prevent these locations from having an important item.
    ['The Throne Room: Above Throne Right', 'The Throne Room: Great Stairs Left', 'The Throne Room: Great Stairs Center', 'The Throne Room: Above Throne Left', 'The Throne Room: Great Stairs Under Stairs', 'The Throne Room: Great Stairs Hidden']

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  ################
  # Goal Options #
  ################
  goal:
    # The goal for your game.
    # Brauner: Defeat Brauner in the studio portrait.
    # Dracula: Defeat Dracula in the throne room.
    brauner: 0
    dracula: 50

  brauner_portraits:
    # How many of ANY portraits are required to be cleared to access Brauner's portrait.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-8: 0 # random value between 0 and 8

  dracula_portraits:
    # How many portraits are required to be cleared to access the Throne Room.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    0: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-8: 0 # random value between 0 and 8

  brauner_required:
    # If enabled, you will be required to fight Brauner before you can access the Throne Room,
    # Of course, this won't do anything if the goal is set to Brauner.
    'false': 0
    'true': 50

  open_throne:
    # Unlocks the Throne Room by default. Your goal conditions will be checked
    # by Dracula's boss door instead of the throne barrier.
    'false': 50
    'true': 0

  ########################
  # Nest of Evil Options #
  ########################
  nest_of_evil_state:
    # The state of the Nest of Evil.
    # Vanilla: Nest of Evil has its original rewards, the two tome pages and Greatest Five.
    # Randomized: The three items in the Nest of Evil are random, and added to the item pool.
    # Required: You are required to clear the Nest of Evil before you can access your final boss.
    # Removed: The three items are added to the item pool, and the Nest of Evil is inaccessible.
    vanilla: 50
    randomized: 0
    required: 0
    removed: 0

  nest_portraits:
    # How many Portraits are required to be cleared to access the underground passage
    # at the castle entrance.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    8: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-8: 0 # random value between 0 and 8

  #####################
  # Item Pool Options #
  #####################
  shuffle_whip:
    # If enabled, the True Vampire Killer will be added to the item pool,
    # and the Whip's Memory fight will grant you a random item.
    # Otherwise, it will be at its normal location.
    'false': 50
    'true': 0

  start_with_change_cube:
    # If enabled, you'll start with the Change Cube by default
    'false': 50
    'true': 0

  start_with_call_cube:
    # If enabled, you'll start with the Call Cube by default
    'false': 50
    'true': 0

  add_extra_items:
    # If enabled, some items and spells that are otherwise only obtainable
    # in other modes will be added to the item pool, such as Puppet Master.
    'false': 50
    'true': 0

  exclude_owl_morph:
    # If enabled, Owl Morph will not be added to the item pool.
    'false': 50
    'true': 0

  ################
  # Item Options #
  ################
  stronger_glove:
    # If enabled, the Strength Glove will be buffed and able to push stationary heavy objects on its own.
    'false': 50
    'true': 0

  random_spell_charge_times:
    # Randomizes the charge time of non-major spells.
    'false': 50
    'true': 0

  randomize_shop_items:
    # Randomizes what items are in the shop.
    'false': 50
    'true': 0

  #################
  # World Options #
  #################
  add_boss_keys:
    # If enabled, all Boss Doors will be locked until you find its respective Key.
    # Key names are generally named after the room or area, and can be found on the Doc page.
    'false': 50
    'true': 0

  removed_boss_keys:
    # Boss Keys specified here will not be added to the pool and its boss door will not be locked.
    ['Throne Key', 'Colosseum Key', 'Gallery Key']

  #################
  # Quest Options #
  #################
  unlock_all_quests:
    # If enabled, all Quests will be unlocked by default.
    'false': 50
    'true': 0

  randomized_quests:
    # Specify which Quests have random items. 'Preparations' is always included, regardless of settings. Nest of Evil is never included.
    # You can type any quest name, as well as the following shortcuts:
    # Requires Item: Any Quest which requires you to turn in an item or set of items (except for Almighty and Great Sage)
    # Defeat Enemies: Any Quest which requires you to defeat specific enemies.
    # Mastery: Any Quest which requires you to Master a subweapon.
    # Simple: Any Quest with no specific requirement other than reaching an area or changing your status.
    # Grindy: Any Quest with a high grinding requirement. (Includes the Mastery quests.)
    # All: Enables ALL quests
    {}

  excluded_quests:
    # Specify Excluded randomized quests from the above option. Excluded Quests will still be randomized, but will always be your own junk items.
    # The same shortcuts from the above option apply.
    ['Quest: Master the Holy Power', 'Quest: The Hundred Tasks', 'Quest: The Great Sage', 'Quest: Almighty', 'Quest: Hands of the Clock', 'Quest: S Rank Hunter']

  ######################
  # Area Randomization #
  ######################
  portrait_shuffle:
    # Shuffles which areas the Portraits lead you to.
    # Split: Shuffles the normal and Brauner portraits separately
    # Full: Shuffles all of the portraits together
    # Add Nest: Full, but also shuffles the Nest of Evil portrait
    normal: 50
    split: 0
    full: 0
    add_nest_of_evil: 0

  ##################
  # Enemy Settings #
  ##################
  experience_percentage:
    # What percentage of EXP enemies give you. This is a percent of their original EXP amount.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 50
    # Maximum value is 500
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-50-500: 0 # random value between 50 and 500
    none: 0 # equivalent to 0
    half: 0 # equivalent to 50
    normal: 50 # equivalent to 100
    double: 0 # equivalent to 200
    quadruple: 0 # equivalent to 400

  sp_multiplier:
    # Multiplier for the amount of SP given by enemies.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  shuffle_enemy_drops:
    # Randomizes what items enemies drop, and what the drop chances are.
    'false': 50
    'true': 0

  ###################
  # Quality of Life #
  ###################
  reveal_map:
    # Start with the entire map visible.
    'false': 0
    'true': 50

  reveal_hidden_walls:
    # Automatically reveals all breakable walls/objects.
    'false': 50
    'true': 0

  one_screen_mode:
    # Allows the entire game to be played with only the bottom screen. Press Select to view the map.
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
